Page({
  data: {
    userId: '',
    password: '',
    confirmPassword: '',
    isLoading: false,
    isPasswordVisible: false,
    isConfirmPasswordVisible: false
  },

  onShow: function () {
    // 获取最后一个用户的账号
    wx.request({
      url: 'http://127.0.0.1:3001/user/last',
      method: 'GET',
      success: (res) => {
        if (res.data && res.data.length > 0) {
          const lastUserId = res.data[0].user_id;
          // 将字符串转换为数字，加1后再转回字符串
          const newUserId = (parseInt(lastUserId) + 1).toString();
          this.setData({
            userId: newUserId
          });
        }
      },
      fail: (err) => {
        console.error('获取最后一个用户账号失败：', err);
      }
    });
  },

  // 输入账号
  onUserIdInput(e) {
    this.setData({
      userId: e.detail.value
    });
  },

  // 输入密码
  onPasswordInput(e) {
    this.setData({
      password: e.detail.value
    });
  },

  // 输入确认密码
  onConfirmPasswordInput(e) {
    this.setData({
      confirmPassword: e.detail.value
    });
  },

  // 切换密码显示/隐藏
  togglePasswordVisibility() {
    this.setData({
      isPasswordVisible: !this.data.isPasswordVisible
    });
  },

  // 切换确认密码显示/隐藏
  toggleConfirmPasswordVisibility() {
    this.setData({
      isConfirmPasswordVisible: !this.data.isConfirmPasswordVisible
    });
  },

  // 返回登录页面
  goToLogin() {
    wx.navigateBack();
  },

  // 处理注册
  handleRegister() {
    const {
      userId,
      password,
      confirmPassword
    } = this.data;

    // 首先检查是否填写了所有信息
    if (!userId || !password || !confirmPassword) {
      wx.showToast({
        title: '请填写完整信息',
        icon: 'none'
      });
      return;
    }

    // 检查两次输入的密码是否一致
    if (password !== confirmPassword) {
      wx.showToast({
        title: '两次输入的密码不一致',
        icon: 'none'
      });
      return;
    }

    // 检查密码长度
    if (password.length < 5 || password.length > 10) {
      wx.showToast({
        title: '密码长度必须在5-10位之间',
        icon: 'none'
      });
      return;
    }

    // 如果密码一致，再设置加载状态并发送注册请求
    this.setData({
      isLoading: true
    });

    // 这里添加实际的注册逻辑
    wx.request({
      url: 'http://127.0.0.1:3001/register',
      method: 'POST',
      data: {
        userId,
        password
      },
      success: (res) => {
        if (res.data.success) {
          // 注册成功，保存账号密码到本地存储
          wx.setStorageSync('savedUserId', userId);
          wx.setStorageSync('savedPassword', password);

          wx.showToast({
            title: '注册成功',
            icon: 'success'
          });
          // 注册成功后跳转到登录页
          setTimeout(() => {
            wx.redirectTo({
              url: '/pages/login/login'
            });
          }, 1500);
        } else {
          wx.showToast({
            title: res.data.message || '注册失败',
            icon: 'none'
          });
        }
      },
      fail: () => {
        wx.showToast({
          title: '网络错误，请重试',
          icon: 'none'
        });
      },
      complete: () => {
        this.setData({
          isLoading: false
        });
      }
    });
  }
});